iT邦幫忙

2024 iThome 鐵人賽

DAY 22
1

▋回顧&延伸-用docker compose部屬資料庫


https://ithelp.ithome.com.tw/upload/images/20241005/20169058uXarSZcbkD.png
在開始前後端服務之前,還記得我們昨天使用docker compose指令,試圖啟動由docker-compose.middleware.yaml設置的PostgresSQL / Redis / Weaviate資料庫,但實際上用docker ps指令檢查卻缺少了Weaviate嗎?由於已經找到原因了,今天立刻把缺漏的Weaviate資料庫啟動起來吧!

檢查docker-compose.middleware.yaml

搜尋Weaviate,發現我們確實在yaml檔中看到相關的配置,但為什麼執行時卻沒有啟動呢?原因在於profile:
https://ithelp.ithome.com.tw/upload/images/20241006/20169058PoDt88o6Kr.png

profile概念

在docker compose中,profile允許定義不同的配置來根據不同需求啟動或不啟動某些服務,這是一種靈活的方式來管理多個服務的啟動行為。

profile使用方式

回到docker-compose.middleware.yaml,我們看到Weaviate服務在定義時關聯了兩個profiles:

profiles:
  - ""
  - weaviate

這意味著:
當不指定任何profile時,Weaviate服務不會啟動(因為它依賴於特定的profile weaviate)。
只有在明確使用 --profile weaviate 時,docker compose才會啟動Weaviate服務。

所以說,我們只要再執行補上--profile weaviate的指令即可(注意這裡執行的目錄同樣要在docker資料夾中):

# 如果使用docker compose
docker compose --profile weaviate -f docker-compose.middleware.yaml up -d

# 或者使用docker-compose(依照自己可以使用的指令,兩者擇一即可。)
docker-compose --profile weaviate -f docker-compose.middleware.yaml up -d

完成後,再用docker ps指令檢查,可以看到weaviate成功啟動了:
https://ithelp.ithome.com.tw/upload/images/20241006/2016905845bSlirnyX.png

▋下回預告


補上了Weaviate資料庫部屬,明天來接著看後端伺服器所需的前置作業。

▋參考資料


Dify(github)
https://github.com/langgenius/dify/tree/main
Dify(官方文件)
https://docs.dify.ai/getting-started/install-self-hosted/local-source-code

▋後記


今天分享的內容在教學文件中沒有特別說明,而且執行教學文件的內容其實也不會發出錯誤訊息,因此大家平常可以養成一個習慣,執行指令之後,再次確認執行結果是否如預期,如果非預期的話先留心這個部分,就算沒有當下處理,未來如果遇到卡關的地方,也能在回頭檢查的時候有跡可循,藉由提升了解程度,來減少未來錯誤的發生或者加快除錯效率。


上一篇
Part2: 地端實作聊天機器人-用docker compose部屬資料庫
下一篇
Part2: 地端實作聊天機器人-Poetry (Python套件管理器)
系列文
從Azure雲端服務架構入門,在本地端結合RAG&LLM打造專屬的聊天機器人。30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言